Skip to content

Avoid need for dedicate product definitions for pde.build.tests#1840

Merged
HannesWell merged 1 commit intoeclipse-pde:masterfrom
HannesWell:replace-sdk.test.ide
Jul 7, 2025
Merged

Avoid need for dedicate product definitions for pde.build.tests#1840
HannesWell merged 1 commit intoeclipse-pde:masterfrom
HannesWell:replace-sdk.test.ide

Conversation

@HannesWell
Copy link
Copy Markdown
Member

Instead of own complete product definitions just use the existing o.e.platform.ide product and install all additionally required IUs while tycho-surefire assembles the test-runtime.

In an earlier state the test-runtime was just provisioned from the o.e.sdk.ide product, which had the drawback, that it included the o.e.pde feature from the latest I-build and not the one just built in the Maven reactor.
Instead of the o.e.sdk.ide product, now o.e.platform.ide is used as base product. The latter doesn't contain the o.e.pde feature, which allows us to install it from the reactor when tycho-surefire assembles the test-runtime.

Follow-up on

@HannesWell HannesWell requested a review from laeubi June 27, 2025 16:21
@HannesWell HannesWell force-pushed the replace-sdk.test.ide branch from 7f1bb0e to 4599390 Compare June 27, 2025 16:22
@laeubi
Copy link
Copy Markdown
Contributor

laeubi commented Jun 27, 2025

Please test that the build actually fails if one of the test have a failure (as this was a problem before). Beside that I'm not sure if its good to depend on products provided elsewhere... this requires to always take care not to break something on changes.

@merks
Copy link
Copy Markdown
Contributor

merks commented Jun 27, 2025

Beside that I'm not sure if its good to depend on products provided elsewhere...

It's a valid concern That being said though, the Platform is an upstream project and this product definition is quite often reused downstream...

@HannesWell
Copy link
Copy Markdown
Member Author

Please test that the build actually fails if one of the test have a failure (as this was a problem before).

Sure, no problem. What kind of change to test this do you have in mind? Just change an assertion?

Beside that I'm not sure if its good to depend on products provided elsewhere...

It's a valid concern That being said though, the Platform is an upstream project and this product definition is quite often reused downstream...

It's right, that changes from upstream can be a problem, but it can also be beneficial if we inherit e.g. the configuration and don't have to adjust it in multiple different places and repos, if necessary. But the platform.ide product is already very minimal, there is not much one can remove more:

https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/652aa77f5e2fb6e65bce0afd0cd31a8f65ea5ad5/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/platform.product#L186-L189

But to be save we could also add the two features declared there and effectively just inherit the configuration.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 27, 2025

Test Results

   765 files     765 suites   1h 5m 50s ⏱️
 3 611 tests  3 557 ✅  54 💤 0 ❌
10 833 runs  10 670 ✅ 163 💤 0 ❌

Results for commit e3e3a7c.

♻️ This comment has been updated with latest results.

<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>

<product name="Eclipse SDK" uid="org.eclipse.sdk.test.ide" id="org.eclipse.sdk.ide" application="org.eclipse.ui.ide.workbench" version="4.37.0.qualifier" type="mixed" includeLaunchers="true" autoIncludeRequirements="true">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I recall correctly the includeLaunchers="true" was an important part here as the test want to find the launcher binary.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but the platform product has it too:
https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/652aa77f5e2fb6e65bce0afd0cd31a8f65ea5ad5/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/platform.product#L4

In the latest state I have also changed the assumption if the executable can be found into an assertion and now we have many failures instead of skipped tests.
But on the master these tests are skipped as well. As you wrote in our private chat, this might be related to

I'll try and see if adding the equinox.executable feature helps.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the latest state I have also changed the assumption if the executable can be found into an assertion and now we have many failures instead of skipped tests.
But on the master these tests are skipped as well. As you wrote in our private chat, this might be related to

Moved the investigation and hopefully fix of that problem into

@HannesWell HannesWell force-pushed the replace-sdk.test.ide branch from 9a7352b to 64ca74e Compare June 28, 2025 10:04
@HannesWell HannesWell force-pushed the replace-sdk.test.ide branch from 64ca74e to fce5ad2 Compare July 7, 2025 15:06
Instead of own complete product definitions just use the existing
o.e.platform.ide product and install all additionally required IUs while
tycho-surefire assembles the test-runtime.

In an earlier state the test-runtime was just provisioned from the
'o.e.sdk.ide' product, which had the drawback, that it included the
o.e.pde feature from the latest I-build and not the one just built in
the Maven reactor.
Instead of the 'o.e.sdk.ide' product, now 'o.e.platform.ide' is used
as base product. The latter doesn't contain the o.e.pde feature, which
allows us to install it from the reactor when tycho-surefire assembles
the test-runtime.

Follow-up on
- eclipse-pde#1149
@HannesWell HannesWell force-pushed the replace-sdk.test.ide branch from fce5ad2 to e3e3a7c Compare July 7, 2025 15:52
@HannesWell HannesWell merged commit 44e7af8 into eclipse-pde:master Jul 7, 2025
19 checks passed
@HannesWell HannesWell deleted the replace-sdk.test.ide branch July 7, 2025 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants